A read only memory (ROM) consists of an array of semiconductor devices (diodes, bipolar or field-effect transistors) which interconnect to store an array of binary data (ones or zeros). A ROM basically consists of a memory array of programmed data and a decoder to select the data located at a desired address in the memory array.
Three basic types of ROMs are mask-programmable ROMs, erasable programmable ROMs (EPROMs) and field-programmable ROMs (PROMs). The data array is permanently stored in a mask-programmable ROM, at the time of manufacture, by selectively including or omitting the switching elements at the row-column intersections in the memory array. This requires a special mask used during fabrication of the integrated circuit which is expensive and feasible only when a large quantity of the same data array is required.
EPROMs use a special charge-storage mechanism to enable or disable the switching elements in the memory array. In this case, appropriate voltage pulses to store electrical charges at the memory array locations is provided. The data stored in this manner is generally permanent until it is erased using ultraviolet light allowing it to once again be programmed.
PROMs are typically manufactured with all switching elements present in the array, with the connection at each row-column intersection being made by means of either a fuse element or an anti-fuse element. In order to store data in the PROM, these elements (either the fuse or the anti-fuse, whichever are used in the design) are selectively programmed using appropriate voltage pulses supplied by a PROM programmer. Once the elements are programmed, the data is permanently stored in the memory array.